﻿#ifndef _C_HLS_HELPER_H_
#define _C_HLS_HELPER_H_

class CHlsHelper
{
public:
	// return:
	// -1: unknown error
	// 0: success
	// -2: invalid anterior file
	// -3: open posterior file fail
	// -4: invalid posterior file
	// -5: append fail
	static int AppendTs(const char* anteriorSegmentFile, const char* posteriorSegmentFile);
	static int FileAppend(const char* anteriorFile, const char* posteriorFile);
	static int LocalM3U8ToMp4(const char* m3u8File, const char* outputFile);
	static bool RenameFile(const char* oldFile, const char* newFile);
	static bool FileExist(const char* filePath);
	static bool IsTs(const char* filePath);
	static bool VerifyTsFile(const char* filePath);
	// return: position of posterior file in anterior file
	static long long FindTsPosition(const char* anteriorFile, const char* posteriorFile);
	static int M3U8Decrypt(const char* m3u8File, const char* outputFile);
};

#endif	// _C_HLS_HELPER_H_